In image creation and editing, it is often desirable to synthesize an image that shares similar texture with another image. “Texture” refers to the visually recognizable characteristics that occur based on a pattern or other spatial arrangement of color in an image. For example, images of a brick wall, a stone pathway, and a leaf covered forest floor each include spatial arrangements of colors that result in visually recognizable characteristics. Two images can have similar texture but differ with respect to other characteristics. For example, an image of a brick wall with bricks of consistent size, color, shape, boundaries, and relationship to one another can have a similar texture to an image that shows bricks in which brick boundaries, shapes, colors, sizes, and relationships are less regular.
Various techniques are used to synthesize an image that has a similar texture to another image. The synthesized image is referred to herein as the “texture image” and the other image, that is the source of the texture, is referred to herein as the “style image.” Some existing techniques involve training a generator neural network to synthesize a texture image that is similar to a style image. The techniques generally use a generator network that is specific to a single style image. Thus, synthesizing texture images for multiple style images requires training and using multiple generator networks. In addition, the techniques often fail to synthesize sufficiently variable results for a given style image. For example, the texture images that are synthesized to be similar to a style image of a brick wall tend to be very similar to one another. This limits the variety of texture image results that can be provided to a user who is looking for variations of a particular style image.